Compression schemes are often used in a data centers to compress data, thereby enabling compute devices in the data center to store more customer data in a given amount of data storage capacity and/or transmit more customer data in a given amount of network bandwidth. As such, the data compression is an important computer operation used in many computing applications, including both server and client applications. For example, data compression may be used to reduce network bandwidth requirements and/or storage requirements for cloud computing applications. Many common lossless compression formats are based on the LZ77 compression algorithm. The data compression is usually performed at different compression level (e.g., 1 thru 9 in gzip/zlib), where each level increases the effort spent in finding matches and thereby sacrificing speed for compression ratio. Traditionally, the compression level is specified by an application or a user and the underlying hardware engine uses that to configure its search/matching effort.